package com.wfy.modules.sys.web;

import com.wfy.common.entity.Result;
import com.wfy.common.entity.ResultGenerate;
import com.wfy.common.web.BaseController;
import com.wfy.modules.sys.dto.RoleDto;
import com.wfy.modules.sys.service.IRoleService;
import io.swagger.annotations.Api;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.validation.Valid;

/**
 * Created with IntelliJ IDEA.
 *
 * @author: wangxindong
 * @date: 2018/2/10-20:33
 */
@Api("角色管理")
@Controller
@RequestMapping(value = "/v1/sys/role")
public class RoleController extends BaseController {

    // ================================================================
    // Constants
    // ================================================================

    // ================================================================
    // Fields
    // ================================================================

    @Resource(name = "roleServiceImpl")
    private IRoleService roleService;

    // ================================================================
    // Constructors
    // ================================================================

    // ================================================================
    // Methods from/for super Interfaces or SuperClass
    // ================================================================

    // ================================================================
    // Public or Protected Methods
    // ================================================================

    /**
     * 根据用户id删除权限
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "deleteByUser/{id}")
    @ResponseBody
    public Result deleteByUserId(@PathVariable String id) {
        roleService.deleteByUserId(id);
        return ResultGenerate.getSuccessResult();
    }


    /**
     * 根据id删除角色
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
    @ResponseBody
    public Result delete(@PathVariable String id) {
        return null;
    }

    /**
     * 根据id获取角色信息
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseBody
    public Result get(@PathVariable String id) {
        return null;
    }

    /**
     * 增加角色信息
     *
     * @param roleDto
     * @return
     */
    @RequestMapping(value = "", method = RequestMethod.POST)
    @ResponseBody
    public Result save(@Valid @RequestBody RoleDto roleDto) {
        return null;
    }


    // ================================================================
    // Getter & Setter
    // ================================================================

    // ================================================================
    // Private Methods
    // ================================================================


    // ================================================================
    // Inner or Anonymous Class
    // ================================================================

    // ================================================================
    // Test Methods
    // ================================================================

}
